package com.sample.springbatch.model;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * @ClassName: HbBillLoanDetailEntity
 * @description: TODO
 * @author: lxq
 * @date: 2019/1/16
 * @time: 16:32
 */
@Entity
@Table(name = "hb_bill_loan_detail")
public class HbBillLoanDetailEntity{
    private long id;
    private String contractNo;
    private String fundSeqNo;
    private String prodCode;
    private String internalTransferTag;
    private String contractType;
    private String name;
    private String certType;
    private String certNo;
    private String loanStatus;
    private String loanUse;
    private String useArea;
    private String applyDate;
    private String currency;
    private BigDecimal encashAmt;
    private int totalTerms;
    private String encashDate;
    private String startDate;
    private String endDate;
    private String repayMode;
    private int graceDay;
    private BigDecimal totalFeeRate;
    private String rateType;
    private BigDecimal dayRate;
    private String prinRepayFrequency;
    private String intRepayFrequency;
    private String guaranteeType;
    private String creditNo;
    private String encashAcctType;
    private String encashAcctNo;
    private String repayAcctType;
    private String repayAcctNo;
    private String applyNo;
    private String agreementNo;
    private Date businessDate;
    private Timestamp createTime;
    private Timestamp updateTime;

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy= GenerationType.AUTO)
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "contract_no")
    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    @Basic
    @Column(name = "fund_seq_no")
    public String getFundSeqNo() {
        return fundSeqNo;
    }

    public void setFundSeqNo(String fundSeqNo) {
        this.fundSeqNo = fundSeqNo;
    }

    @Basic
    @Column(name = "prod_code")
    public String getProdCode() {
        return prodCode;
    }

    public void setProdCode(String prodCode) {
        this.prodCode = prodCode;
    }

    @Basic
    @Column(name = "internal_transfer_tag")
    public String getInternalTransferTag() {
        return internalTransferTag;
    }

    public void setInternalTransferTag(String internalTransferTag) {
        this.internalTransferTag = internalTransferTag;
    }

    @Basic
    @Column(name = "contract_type")
    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    @Basic
    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Basic
    @Column(name = "cert_type")
    public String getCertType() {
        return certType;
    }

    public void setCertType(String certType) {
        this.certType = certType;
    }

    @Basic
    @Column(name = "cert_no")
    public String getCertNo() {
        return certNo;
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    @Basic
    @Column(name = "loan_status")
    public String getLoanStatus() {
        return loanStatus;
    }

    public void setLoanStatus(String loanStatus) {
        this.loanStatus = loanStatus;
    }

    @Basic
    @Column(name = "loan_use")
    public String getLoanUse() {
        return loanUse;
    }

    public void setLoanUse(String loanUse) {
        this.loanUse = loanUse;
    }

    @Basic
    @Column(name = "use_area")
    public String getUseArea() {
        return useArea;
    }

    public void setUseArea(String useArea) {
        this.useArea = useArea;
    }

    @Basic
    @Column(name = "apply_date")
    public String getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(String applyDate) {
        this.applyDate = applyDate;
    }

    @Basic
    @Column(name = "currency")
    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    @Basic
    @Column(name = "encash_amt")
    public BigDecimal getEncashAmt() {
        return encashAmt;
    }

    public void setEncashAmt(BigDecimal encashAmt) {
        this.encashAmt = encashAmt;
    }

    @Basic
    @Column(name = "total_terms")
    public int getTotalTerms() {
        return totalTerms;
    }

    public void setTotalTerms(int totalTerms) {
        this.totalTerms = totalTerms;
    }

    @Basic
    @Column(name = "encash_date")
    public String getEncashDate() {
        return encashDate;
    }

    public void setEncashDate(String encashDate) {
        this.encashDate = encashDate;
    }

    @Basic
    @Column(name = "start_date")
    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    @Basic
    @Column(name = "end_date")
    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    @Basic
    @Column(name = "repay_mode")
    public String getRepayMode() {
        return repayMode;
    }

    public void setRepayMode(String repayMode) {
        this.repayMode = repayMode;
    }

    @Basic
    @Column(name = "grace_day")
    public int getGraceDay() {
        return graceDay;
    }

    public void setGraceDay(int graceDay) {
        this.graceDay = graceDay;
    }

    @Basic
    @Column(name = "total_fee_rate")
    public BigDecimal getTotalFeeRate() {
        return totalFeeRate;
    }

    public void setTotalFeeRate(BigDecimal totalFeeRate) {
        this.totalFeeRate = totalFeeRate;
    }

    @Basic
    @Column(name = "rate_type")
    public String getRateType() {
        return rateType;
    }

    public void setRateType(String rateType) {
        this.rateType = rateType;
    }

    @Basic
    @Column(name = "day_rate")
    public BigDecimal getDayRate() {
        return dayRate;
    }

    public void setDayRate(BigDecimal dayRate) {
        this.dayRate = dayRate;
    }

    @Basic
    @Column(name = "prin_repay_frequency")
    public String getPrinRepayFrequency() {
        return prinRepayFrequency;
    }

    public void setPrinRepayFrequency(String prinRepayFrequency) {
        this.prinRepayFrequency = prinRepayFrequency;
    }

    @Basic
    @Column(name = "int_repay_frequency")
    public String getIntRepayFrequency() {
        return intRepayFrequency;
    }

    public void setIntRepayFrequency(String intRepayFrequency) {
        this.intRepayFrequency = intRepayFrequency;
    }

    @Basic
    @Column(name = "guarantee_type")
    public String getGuaranteeType() {
        return guaranteeType;
    }

    public void setGuaranteeType(String guaranteeType) {
        this.guaranteeType = guaranteeType;
    }

    @Basic
    @Column(name = "credit_no")
    public String getCreditNo() {
        return creditNo;
    }

    public void setCreditNo(String creditNo) {
        this.creditNo = creditNo;
    }

    @Basic
    @Column(name = "encash_acct_type")
    public String getEncashAcctType() {
        return encashAcctType;
    }

    public void setEncashAcctType(String encashAcctType) {
        this.encashAcctType = encashAcctType;
    }

    @Basic
    @Column(name = "encash_acct_no")
    public String getEncashAcctNo() {
        return encashAcctNo;
    }

    public void setEncashAcctNo(String encashAcctNo) {
        this.encashAcctNo = encashAcctNo;
    }

    @Basic
    @Column(name = "repay_acct_type")
    public String getRepayAcctType() {
        return repayAcctType;
    }

    public void setRepayAcctType(String repayAcctType) {
        this.repayAcctType = repayAcctType;
    }

    @Basic
    @Column(name = "repay_acct_no")
    public String getRepayAcctNo() {
        return repayAcctNo;
    }

    public void setRepayAcctNo(String repayAcctNo) {
        this.repayAcctNo = repayAcctNo;
    }

    @Basic
    @Column(name = "apply_no")
    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    @Basic
    @Column(name = "agreement_no")
    public String getAgreementNo() {
        return agreementNo;
    }

    public void setAgreementNo(String agreementNo) {
        this.agreementNo = agreementNo;
    }

    @Basic
    @Column(name = "business_date")
    public Date getBusinessDate() {
        return businessDate;
    }

    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }

    @Basic
    @Column(name = "create_time")
    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_time")
    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("HbBillLoanDetailEntity{");
        sb.append("id=").append(id);
        sb.append(", contractNo='").append(contractNo).append('\'');
        sb.append(", fundSeqNo='").append(fundSeqNo).append('\'');
        sb.append(", prodCode='").append(prodCode).append('\'');
        sb.append(", internalTransferTag='").append(internalTransferTag).append('\'');
        sb.append(", contractType='").append(contractType).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", certType='").append(certType).append('\'');
        sb.append(", certNo='").append(certNo).append('\'');
        sb.append(", loanStatus='").append(loanStatus).append('\'');
        sb.append(", loanUse='").append(loanUse).append('\'');
        sb.append(", useArea='").append(useArea).append('\'');
        sb.append(", applyDate='").append(applyDate).append('\'');
        sb.append(", currency='").append(currency).append('\'');
        sb.append(", encashAmt=").append(encashAmt);
        sb.append(", totalTerms=").append(totalTerms);
        sb.append(", encashDate='").append(encashDate).append('\'');
        sb.append(", startDate='").append(startDate).append('\'');
        sb.append(", endDate='").append(endDate).append('\'');
        sb.append(", repayMode='").append(repayMode).append('\'');
        sb.append(", graceDay=").append(graceDay);
        sb.append(", totalFeeRate=").append(totalFeeRate);
        sb.append(", rateType='").append(rateType).append('\'');
        sb.append(", dayRate=").append(dayRate);
        sb.append(", prinRepayFrequency='").append(prinRepayFrequency).append('\'');
        sb.append(", intRepayFrequency='").append(intRepayFrequency).append('\'');
        sb.append(", guaranteeType='").append(guaranteeType).append('\'');
        sb.append(", creditNo='").append(creditNo).append('\'');
        sb.append(", encashAcctType='").append(encashAcctType).append('\'');
        sb.append(", encashAcctNo='").append(encashAcctNo).append('\'');
        sb.append(", repayAcctType='").append(repayAcctType).append('\'');
        sb.append(", repayAcctNo='").append(repayAcctNo).append('\'');
        sb.append(", applyNo='").append(applyNo).append('\'');
        sb.append(", agreementNo='").append(agreementNo).append('\'');
        sb.append(", businessDate=").append(businessDate);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append('}');
        return sb.toString();
    }
}
